package file01;

import java.io.File;

/*
* /**File类的获取功能:
 *
 *  String[] list()
 *           获取指定路径下的文件或文件夹的名称,将这些名称封装到一个字符串数组中,返回这个字符串数组
 *           只能获取一级文件夹下的内容,子级文件夹下的内容获取不到
 *           如果路径表示一个文件路径,该方法返回null,遍历null会报java.lang.NullPointerException

    File[] listFiles()
 *          获取指定路径下的文件或文件夹的路径,将这些路径封装到一个File[]数组中,然后返回该数组
 *          如果指定的文件夹路径是相对路径,那么将来输出File[]数组中的file对象,最终结果都是一个个相对路径
 *          如果指定的文件夹路径是绝对路径,那么将来输出File[]数组中的file对象,最终结果都是一个个绝对路径
 *          只能获取一级文件夹下的内容,子级文件夹下的内容获取不到
 *          如果路径表示一个文件路径,该方法返回null,遍历null会报java.lang.NullPointerException
 */
public class FileDemo09 {
    public static void main(String[] args) {
        //method01();

        File file3 = new File("day22/abc");
        File[] files = file3.listFiles();
        for (File file : files) {
            System.out.println(file);
        }
        //day22\abc\2..txt
        //day22\abc\3.txt
        //day22\abc\df

        System.out.println("------------------------");
        File file4 = new File("E:\\mycode\\untitled1\\day22\\abc");
        File[] files1 = file4.listFiles();
        for (File file1 : files1) {
            System.out.println(file1);
        }
        //E:\mycode/untitled1\day22\abc\2..txt
        //E:\mycode/untitled1\day22\abc\3.txt
        //E:\mycode/untitled1\day22\abc\df
    }


    private static void method01() {
        File file = new File("day22/abc");    //传入相对路径和绝对路径都是一样的效果
        String[] list = file.list();
        for (String s : list) {
            System.out.println(s);
            //2..txt
            //3.txt
            //df        //  只能获取一级文件夹下的内容,子级文件夹下的内容获取不到
        }
//        File file2 = new File("day22\\3.txt");
//        String[] list1 = file2.list();  // 相当于  file2.list()=null 下面没有文件夹或者文件
//        for (String s2 : list1) {
//            System.out.println(s2);
             // NullPointerException: Cannot read the array length because "<local5>" is null
        }

}
